module com.example.singing {
    requires javafx.controls;
    requires javafx.fxml;
    requires javafx.web;
    requires javafx.swing;
    requires javafx.media;
    requires java.management;
    requires jdk.management;
    requires org.apache.httpcomponents.client5.httpclient5;
    requires com.fasterxml.jackson.databind;
    
    // 开放包给JavaFX访问，用于PropertyValueFactory
    opens com.example.singing.model to javafx.base, com.fasterxml.jackson.databind;
    opens com.example.singing.view to javafx.base;
    opens com.example.singing.util to com.fasterxml.jackson.databind;

    requires org.controlsfx.controls;
    requires com.dlsc.formsfx;
    requires net.synedra.validatorfx;
    requires org.kordamp.ikonli.javafx;
    requires org.kordamp.bootstrapfx.core;
    requires eu.hansolo.tilesfx;
    requires com.almasb.fxgl.all;

    opens com.example.singing to javafx.fxml;
    exports com.example.singing;
    exports com.example.singing.model;
    exports com.example.singing.util;
}